2003年12月21日
川俣晶の縁側ソフトウェア技術雑記 total 4095 count

C#のリファクタリングツール、Xtreme Simplicity's C# Refactory!を試用する

Written By: 川俣 晶連絡先

 .NET Framework関係の情報サイトのGotDotNet Japanが開設されたときに、ここのメーリングリストに入りました。

 そこでいくつか発言をしていますが、そこで私の発言に以下のようなコメントをもらっていました。

 [gdnj_tech 000201] リファクタリングツールRe:Re: MLのシステム(Re: GDNJメーリングリスト システムメンテナンスのお知らせ)

 Xtreme Simplicity's C# Refactory!というソフトは気になるので、それを試してから返事を書こうと思っていたところ、このメーリングリストは無くなるし、どういうわけか試す機会も訪れず、10ヶ月も過ぎてしまいました。

 しかし、今日になって、やっと試用できたので、コメントを書くことができます。

 10ヶ月も経ってから、こんなものを書いてどうするんだと怒られそうですが。そこは申し訳ないと思います。ですが、ぜひ書いておきたいので、ここに書いておきます。

(リファクタリングにツールは使っていません。手動で書き換えています。という私の文章にたいして)

> 最初は手を動かしとかないとアブナイってとこでしょうか。

 いえ、そんな高尚なことではなく、リファクタリングの本に特にツールを使う必用があると書いてなかったので、手でやっていただけです。

> コードを選択しながら、右クリックで 各リファクタリング機能を呼び出せる

>のは気分がいいです。

 確かに、いろいろな機能が使えて気持ちよいと思いました。

>  VS.NET 2003 への対応等見えていない部分があります。さすがに一日で C#

> Refactory を推奨とは言い切れないのですが、何らかのリファクタリングツール

> は必須だなと痛感します。

 現在はVS.NET 2003にも正しく対応しているようで、VS.NET 2003で使うという面では、特に問題はありませんでした。

 ただ、適切な日本語対応はできていないようで、以下のような問題に遭遇しました。

 以下のような行を含むソースコードでExtract methodを実行してみたところ。

inline.WriteText("[このキーワードの削除機能は現在使用できません]");

 以下のようなエラーメッセージが表示されました。

Unknown escape sequence ? at Ln 142, Ch 47

 どうも、シフトJISで書いたソースコードの「能」の文字の2バイト目が0x5cであるのを誤認しているようです。

 と言うわけで、残念ながら日本語を含むソースコードでは実用度に難あり、という結論になりそうです。残念……。

 まさか2バイト目の0x5cで問題が起きるなどという、PC用Cコンパイラ黎明期のような現象に妨げられてしまうとは思ってもいませんでした。